package com.xiaoshuidi.cloud.module.rooms.convert.rentalspace;

import com.xiaoshuidi.cloud.module.rooms.controller.admin.pricing.vo.RentalSpacePricingPageResp;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.rentalspace.vo.*;
import com.xiaoshuidi.cloud.module.rooms.pojo.RoomRentalSpace;
import com.xiaoshuidi.cloud.module.rooms.pojo.roomel.RentalSpaceelEntity;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.factory.Mappers;
import org.zxp.esclientrhl.repository.PageList;

import java.util.List;

/**
 * Convert
 *
 * @author
 */
@Mapper
public interface RentalSpaceConvert {

    RentalSpaceConvert INSTANCE = Mappers.getMapper(RentalSpaceConvert.class);

    RentalSpaceelEntity convert(RentalSpaceCreateReqVO bean);

    RentalSpaceelEntity convert(RentalSpaceUpdateReqVO bean);

    @Mapping(target = "contractInfoMap", ignore = true)
    @Mapping(target = "billInfoMap", ignore = true)
    RentalSpaceQueryRespVO convert(RoomRentalSpace bean);

    RoomRentalSpace convert2(RentalSpaceCreateReqVO bean);

    RoomRentalSpace convert2(RentalSpaceUpdateReqVO bean);

    RentalSpaceExportRespVO convert2(RoomRentalSpace bean);

    List<RentalSpaceelEntity> convertList(List<RentalSpaceCreateReqVO> list);

    List<RentalSpaceQueryRespVO> convertList4(List<RentalSpaceelEntity> list);

    List<RentalSpaceExportRespVO> convertList3(List<RoomRentalSpace> list);

    List<RentalSpacePricingPageResp> convert(List<RoomRentalSpace> list);


}
